* to deal with possible floating-point representation errors.
*/
-signed int round( double d );
+signed int si_round( double d );
/*
* Data types for Palm/OS files.
rec = xcalloc(sizeof(*rec)+46,1);
- be_write32(&rec->longitude, round(wpt->position.longitude.degrees * 3.6e6));
- be_write32(&rec->latitude, round(wpt->position.latitude.degrees * 3.6e6));
- be_write16(&rec->elevation, round(wpt->position.altitude.altitude_meters));
+ be_write32(&rec->longitude, si_round(wpt->position.longitude.degrees * 3.6e6));
+ be_write32(&rec->latitude, si_round(wpt->position.latitude.degrees * 3.6e6));
+ be_write16(&rec->elevation, si_round(wpt->position.altitude.altitude_meters));
be_write16(&rec->magvar, 0 );
vdata = (char *)rec + sizeof(*rec);
be_write16( &rec->unknown2, 0);
- be_write32(&rec->longitude, round(wpt->position.longitude.degrees * 100000.0));
- be_write32(&rec->latitude, round(wpt->position.latitude.degrees * 100000.0));
+ be_write32(&rec->longitude, si_round(wpt->position.longitude.degrees * 100000.0));
+ be_write32(&rec->latitude, si_round(wpt->position.latitude.degrees * 100000.0));
be_write32(&rec->elevation, wpt->position.altitude.altitude_meters);
rec->plot = 0;
}
signed int
-round( double d )
+si_round( double d )
{
if ( d < 0 ) {
return (signed int)(d-0.5);